package com.master.rl;

import java.sql.*;
import java.text.*;

import com.master.root.*;
import com.master.util.*;
import com.master.util.rl.*;
import com.master.ed.EDI_FiscalED;

public class EDI_FiscalRL {

  FormataDataBean dataFormatada = new FormataDataBean ();

  public EDI_FiscalRL () {
  }

  public String gera_Arquivo_EDI_ISSQN (ResultSet res , EDI_FiscalED ed) throws Excecoes {

    try {

      GeraXML x = new GeraXML ();
      DecimalFormat dec = new DecimalFormat ("########0");

      x.insereTagXML ("declaracao" , GeraXML.ABRE);

      String empresa = "empresa nome=" + '"' + "TRANSPORTADORA TRANSMIRO LTDA" + '"' +
                       " inscricao=" + '"' + "127026"+ '"' +
                       " cpfcnpj=" + '"' + "87283164000151"+ '"' ;

      x.insereTagXML (empresa, GeraXML.ABRE);

      String informacao = "informacao exercicio=" + '"' + ed.getDT_Inicial().substring(6, 10) + '"' +
                          " mes=" + '"' + ed.getDT_Inicial().substring(3, 5)+ '"' +
                          " atividade_desenvolvida=" + '"' + "1104" + '"' +
                          " aliquota=" + '"' + "250" + '"' +
                          " basecalculo=" + '"' + '"' +
                          " observacao=" + '"' + '"';

      x.insereTagXML (informacao, GeraXML.ABRE);

      while (res.next ()) {

    	String dm_Situacao_NF = "A";
    	if ("C".equals(res.getString("dm_situacao"))){ // Nota Cancelada
    		dm_Situacao_NF = "N";
    	}

    	String nota = "nota" +
    	              " data_emissao=" + '"' + dataFormatada.getDT_FormataData (res.getString ("dt_emissao")) + '"' +
    	              " numero=" + '"' + res.getString ("nr_nota_fiscal") + '"' +
    	              " serie=" + '"' + "" + '"' +
    	              " valor_tributavel=" + '"' + dec.format((res.getDouble("vl_nota_fiscal")*100)) + '"' +
    	              " situacao=" + '"' + dm_Situacao_NF + '"' +
    	              " valor_bruto=" + '"' + "0" + '"' +
    	              " valor_deducao=" + '"' + "0" + '"' +
    	              " modelo=" + '"' + "01" + '"' +
    	              " cpfcnpj_tomador=" + '"' + res.getString ("oid_pessoa_destinatario") + '"' +
    	              " numero_servico=" + '"' + "52" + '"' +
    	              " /" ;
        x.insereTagXML (nota , GeraXML.ABRE);
        //x.insereTagXML ("nota" , GeraXML.FECHA);
      }
      x.insereTagXML ("informacao" , GeraXML.FECHA);
      x.insereTagXML ("empresa" , GeraXML.FECHA);
      x.insereTagXML ("declaracao" , GeraXML.FECHA);
      // //  (x.retornaXML ().toString ());
      return x.retornaXML ().toString ();

    }
    catch (Exception e) {
      e.printStackTrace ();
      Excecoes exc = new Excecoes ();
      exc.setExc (e);
      exc.setMensagem ("->> Nenhum EDI ISSQN Relacionado!");
      exc.setClasse (this.getClass ().getName ());
      exc.setMetodo ("gera_Arquivo_EDI_ISSQN()");
      throw exc;
    }
  }
}
